Method for rapidly searching elements or attributes or for rapidly filtering fragments in binary representations of structured, for example, xml-based documents

ABSTRACT

The invention relates to a method serves to encode textual paths for indexing and querying structured, for example, XML-based documents and serves to execute and improved filtering of binarily represented XML documents. A development of the method results in all indices being identical even in the event that a polymorphism is inserted therein. When storing these textual paths for indexing or querying, only one smaller volume of data has to be stored or transmitted. A comparison of this data can also subsequently ensure more rapidly during a query since the volume of data to be compared is smaller.

[0001] The invention relates to methods whereby structured documents, for example XML-based or SGML-based documents, are queried based on textual path expressions. Textual paths are, for example, context paths as described in [1] for instance, or textual path details as specified in [2] for instance, for indexing and querying structured, for example XML-based, documents.

[0002] A system is known from [3] whereby textual paths are used for indexing the contents of an XML document. Absolute paths and partial paths to each element in a document are here stored in, for instance, a hash table. These elements are then referenced based on the storage address in the stored document.

[0003] A query language is furthermore known from [4] which is able to formulate queries, to a database for example, based on textual path expressions.

[0004] The object of the invention is to disclose methods for searching elements or for filtering fragments in binary representations of methods according to the invention.

[0005] The invention relates essentially to a method for encoding textual paths for indexing and querying structured, for example XML-based, documents and for the improved filtering of XML documents represented in binary form. A result of applying the method is that the indices will also be identical if polymorphism is used. Only a small volume of data has to be stored or transmitted when said textual paths for indexing or querying are stored. This data can consequently also be compared more quickly during a query as the volume of data being compared is smaller.

[0006] The invention is explained in greater detail below with the aid of exemplary embodiments shown in the drawings.

[0007]FIGS. 1A to 1C show the structure of an encoded path, of a lossy encoded partial path, and of a loss-free partial path, and

[0008]FIGS. 2A and 2B are a graphical representation of an absolute path and of a partial path.

[0009] As described at the beginning, textual paths can be used for indexing the contents of an XML-based document so that the data which is to say similarly to the manner indicated in [1].

[0010] In each case in schematic form, FIG. 1A shows encoding according to the invention of an absolute path, FIG. 1B shows the encoding of a lossy partial path, and FIG. 1C shows encoding according to the invention of a loss-free partial path.

[0011] In order to distinguish these three types of paths, a path type PT is signaled with two bits at the start of each of the three codes shown by way of example.

[0012] If a path proceeding from a root node of an underlying data structure is possible for indexing, encoding, as shown in FIG. 1A, can only take place by specifying the path type PT as an absolute path followed by the absolute path AP. FIG. 2A shows such an absolute path AbsP proceeding from a root node R. It is worth mentioning here that path encoding is permitted exclusively using schema branching codes SBC and tree branching code TBC, although, for example according to the definition in [1], what are termed position codes would have to be inserted.

[0013]FIG. 2B shows a tree-type data structure with a partial path TeilP which differs from an absolute path in not proceeding from a root node R. In the case of partial path encoding the first node in the path is only specified by the type code with Loss-free encoding retaining the described properties can, however, be achieved by means of the encoding shown in FIG. 1C which, in addition to specifying the path type PT, the absolute type code ATC, and the relative path RP, also contains the number N of types or child elements followed by at least one absolute type AT or a tuple from an absolute type AT and a schema branching code SBC of a child element. The number NT indicates the number of nodes which can contain the specified partial path proceeding from a child element. The type codes of these node types AT, AT′, . . . refer to the same basic type and are arranged, for example, in ascending order according to the codes. By specifying the schema branching codes SBC, . . . it is possible to signal specific child elements from which the partial path proceeds if several child elements of the type with the absolute type code ATC of the partial path TeilP have been declared.

[0014] Encoding of the paths in an index by means of the method according to the invention is advantageous because often no decoding or only transcoding of documents transmitted in encoded form is required during indexing. The storage requirements for the index can also be reduced, which allows queries to be executed faster or which reduces the required computing effort. Encoding of the paths in database querying is advantageous because the volume of data transmitted from the device accepting

[0015] In an advantageous embodiment of the method according to the invention, textual paths for indexing elements and/or attributes are encoded in such a way that the data types which are instanced in the path and which are derived through polymorphism are uniquely replaced by standardized data types, each standardized data type being specified in a manner whereby, proceeding from the basic data type of the respective data type, a data type is searched which contains the element or attribute following in the path and which can be uniquely determined with reference to its derivation from the basic type. As a result, the encoded textual path is uniquely recognized by its bit pattern and the searched elements and/or attributes can be located with this in the encoded, XML-based document.

[0016] This standardizing can be applied generally to textual paths, which is to say not just to textual paths for indexing but also to context paths, as described in [1], for encoding. The advantage of said standardizing is that identical textual paths of different documents are standardized to a single binary representation even if the nodes in the document which are contained in the path differ from the data type. This means just a single bit pattern per path has to be taken into account during a search for textual paths with the aid of bit patterns of the encoded paths. A final further advantage is that the resulting bit patterns are generally shorter than corresponding

[0017] The following references are cited in this document:

[0018] [1] “ISO/IEC FCD 15938-1 Information technology-Multimedia content description interface: Systems”, /7, ISO/IEC JTC 1 SC29/WG11/N4001, Singapore, March 2001

[0019] [2] XML Path Language, Version 1.0, W3C Recommendation, 16 November 1999, http://www.w3.org/TR/xpath.

[0020] [3] dbXML-XML Database Application Server, Version 0.4, The dbXML Group, 2000, http://www.dbxml.org/docs/CoreSpecs.pdf.

[0021] [4] J. Robie, J. Lapp, D. Schach, XML Query Language (XQL), 1998, http://www.w3.org/TandS/QL/QL98/pp/xgl.html.

[0022] [5] XML Schema Language, XML Schema Part 1: Structures, §6, W3C Recommendation, 2 May 2001 http://www.w3.org/XML/Schema. 

1. Method for the fast searching of elements in binary representations of structured XML-based documents wherein a textual path (AbsP, TeilP) for indexing elements and/or attributes is encoded in such a way that the data types which are instanced in the path and which are derived through polymorphism are uniquely replaced by standardized data types, each standardized data type being specified in a manner whereby, proceeding from the basic data type of the respective data type, a data type is searched which contains the element or attribute following in the path and which can be uniquely determined with reference to its derivation from the basic type, and wherein the encoded textual path is then uniquely recognized by its bit pattern and the searched elements and/or attributes are located with this in the encoded, XML-based document.
 2. Method according to claim 1 wherein the standardized data type is specified in a manner whereby, proceeding from the basic data type of the respective data type, a data type is searched which contains the element or attribute following in the path and which, according to the definition, has the lowest or highest type code and/or the lowest or highest number of inheritance steps proceeding from the basic type.
 3. Method according to claim 1 wherein the textual path (AbsP) is encoded by specifying a path type (PT) and an encoded absolute path (AP), with encoding of the paths with position codes being unnecessary.
 4. Method according to claim 1 wherein the textual path (TeilP) is encoded by specifying a path type (PT), an absolute type code (ATC), and an encoded relative path (RP), with encoding of the paths with position codes being unnecessary.
 5. Method according to claim 4 wherein the textual path (TeilP) is encoded by additionally specifying a number of types (NT) and by means of a number of tuples (AT, SBC), determined by the number of types, from a respective absolute type and a respective schema branching code.
 6. Method for the fast filtering of fragments in binary representations of structured XML-based documents wherein a context path for indexing elements and/or attributes is encoded in such a way that the data types which are instanced in the path and which are derived through polymorphism are uniquely replaced by standardized data types, each standardized data type being specified in a manner whereby, proceeding from the basic data type of the respective data type, a data type is searched which contains the element or attribute following in the path and which can be uniquely determined with reference to its derivation from the basic type, and wherein the encoded textual path is then uniquely recognized by the bit pattern of its encoded representation and the searched elements are located with this in the encoded, XML-based document.
 7. Method for the fast searching of elements in binary representations of structured XML-based documents wherein at least one textual path for indexing the searched element is formed, and wherein the textual path is encoded by specifying either a path type (PT) and an encoded absolute path (AP) or a path type (PT), an absolute type code (ATC), and an encoded relative path (RP), (RP), with encoding of the paths with position codes being unnecessary.
 8. Method according to claim 7 wherein the textual path (TeilP) is encoded by additionally specifying a number of types (NT) and by means of a number of tuples (AT, SBC), determined by the number of types, from a respective absolute type and a respective schema branching code. 